//准备count模块的配置项
const countOptions = {
    namespaced: true, //开启命名空间，要想在模块化中使用mapState等操作，必须开启这一项
    actions: {
        jia(context, value) {
            console.log('actions的jia被调用了', context, value)
            context.commit('JIA', value)
        },
        jian(context, value) {
            context.commit('JIAN', value)
        },
        jiaOdd(context, value) {
            if (context.state.sum % 2) {
                context.commit('JIA', value)
            }
        },
        jiaWait(context, value) {
            setTimeout(()=>{
                context.commit('JIA', value)
            }, 1000)
        }
    },
    mutations: {
        //定义类型为JIA的操作，接收两个参数，state是存储共享数据的对象，value是dispatch传递的值
        JIA: function(state, value) {
            console.log('mutations的JIA被调用了', state, value)
            //在mutations中对state的数据进行操作，修改数据后会引起视图重新渲染
            state.sum += value
        },
        JIAN(state, value) {
            state.sum -= value
        },
    },
    state: {
        sum: 0, //当前和，共享数据交给vuex管理
        school: '尚硅谷',
        subject: '前端',
    },
    getters: {
        bigSum(state) { //注意这里的state是只有本模块的数据
            return state.sum * 10
        }
    }
}
export default countOptions